package com.atguigu.gmall.order.biz;

import com.atguigu.gmall.mq.ware.WareDeductMsg;
import com.atguigu.gmall.order.entity.OrderInfo;
import com.atguigu.gmall.order.vo.OrderConfirmVo;
import com.atguigu.gmall.order.vo.OrderSplitChildVo;
import com.atguigu.gmall.order.vo.OrderSplitVo;
import com.atguigu.gmall.order.vo.OrderSubmitVo;

import java.util.List;
import java.util.Map;

/**
 * @Author:lyd
 * @Date:2023/9/4 18:32
 * @Version:1.0
 * @Description
 **/
public interface OrderBizService {
    OrderConfirmVo getOrderConfirmData();

    Long submitOrder(String tradeNo, OrderSubmitVo orderSubmitVo);

    void closeOrder(Long orderId, Long userId);

    OrderInfo getOrderInfo(Long orderId);

    void deductStatusOrder(WareDeductMsg msg);

    void payOrderStatus(Map<String, String> msg);

    /**
     * 拆单
     * @param orderSplitVo
     * @return
     */
    List<OrderSplitChildVo> splitOrder(OrderSplitVo orderSplitVo);
}
